﻿using mozhi.smarterp.Finance.Basedatas;
using mozhi.smarterp.Finance.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Application.Dtos;

namespace mozhi.smarterp.Finance.Accounts
{
    public class AccountBalanceUpdateDto 
    {
        public Guid AccountId { set; get; }

        public int Period { set; get; }

        public List<AccountBalanceItemUpdateDto> Items { set; get; }
    }

    public class AccountBalanceItemUpdateDto : EntityDto<Guid?>
    {
        /// <summary>
        /// 币别
        /// </summary>
        public Guid? CurrencyId { set; get; }

        /// <summary>
        /// 方向
        /// </summary>
        public AccountDirectionType Direction { set; get; }

        /// <summary>
        /// 期初余额
        /// </summary>
        public decimal? OpeningAmount { set; get; }

        /// <summary>
        /// 期初余额原币
        /// </summary>
        public decimal? OpeningAmountFr { set; get; }

        /// <summary>
        /// 本期借方发生额
        /// </summary>
        public decimal? DebitAmount { set; get; }

        /// <summary>
        /// 本期借方发生额原币
        /// </summary>
        public decimal? DebitAmountFr { set; get; }

        /// <summary>
        /// 本期贷方发生额
        /// </summary>
        public decimal? CreditAmount { set; get; }

        /// <summary>
        /// 本期贷方发生额原币
        /// </summary>
        public decimal? CreditAmountFr { set; get; }


        /// <summary>
        /// 本年累计借方发生额
        /// </summary>
        public decimal? CurrentYearDebitAmount { set; get; }

        /// <summary>
        /// 本年累计借方发生额原币
        /// </summary>
        public decimal? CurrentYearDebitAmountFr { set; get; }

        /// <summary>
        /// 本年累计贷方发生额
        /// </summary>
        public decimal? CurrentYearCreditAmount { set; get; }

        /// <summary>
        /// 本年累计贷方发生额原币
        /// </summary>
        public decimal? CurrentYearCreditAmountFr { set; get; }

        public List<DimensionGroupValueItemDto> DimensionGroupValueItems { set; get; }
    }
}
